import { Module } from '@nestjs/common';
import { StageService } from './stage.service';
import { StageController } from './stage.controller';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Stage } from './entities/stage.entity';
import { Event } from '../event/entities/event.entity';
import { EventToPlayer } from '../event-to-player/entities/event-to-player.entity';
import { MatchInfo } from '../match/entities/match.entity';
import { EventModule } from '../event/event.module';
import { EventToPlayerModule } from '../event-to-player/event-to-player.module';
import { MatchModule } from '../match/match.module';
import { StageCacheService } from './stage.cache.service';
import { TournamentModule } from '../tournament/tournament.module';
import { HttpModule } from '@nestjs/axios';

@Module({
  imports: [
    TypeOrmModule.forFeature([Stage, Event, EventToPlayer, MatchInfo]),
    EventModule,
    EventToPlayerModule,
    MatchModule,
    TournamentModule,
    HttpModule,
  ],
  controllers: [StageController],
  providers: [StageService, StageCacheService],
  exports: [StageService, StageCacheService],
})
export class StageModule {}
